// app/utils/utils.go
package utils

import (
	"fmt"
	"regexp"
	"strconv"
)

// 判断是否符合加入传奇阵营的评论
func CheckChuanQiPingLun(content string) bool {
	// 正则表达式同时匹配两种格式：
	// 1. 数字+职业（无空格）如 "1战士"
	// 2. 数字+空格+职业（带空格）如 "1 法师"
	pattern := `^(1|2)\s*(战士|法师|道士)$`
	re := regexp.MustCompile(pattern)
	return re.MatchString(content)
}

// 拆分字符串并转换职业为数字编码
func FormatSplitChuanQiPingLun(s string) (int, int, error) {
	// 正则匹配数字和职业部分
	re := regexp.MustCompile(`^(1|2)\s*(战士|法师|道士)$`)
	matches := re.FindStringSubmatch(s)

	if len(matches) < 3 {
		return 0, 0, fmt.Errorf("无效的输入格式")
	}

	// 第一部分：数字字符串
	part1 := matches[1]
	part1Int, _ := strconv.Atoi(part1)

	// 第二部分：职业转数字编码
	occupationMap := map[string]int{"战士": 1, "法师": 2, "道士": 3}
	part2Code := occupationMap[matches[2]]

	return part1Int, part2Code, nil
}
